home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-02-23 | 1.6 KB | 45 lines | [TEXT/GEOL] |
- Item forwarded by A33 to A34
-
- Item 2574245 19-Feb-90 09:55PST
-
- From: ROSENSTEIN1 Rosenstein, Larry
-
- To: AUST0334 AUDev - CRIA, Canberra, ACT,IDV
- MACAPP.TECH$ MacApp Technical
-
- Sub: RE>Jump Table size
-
- Attn: AUDev - CRIA, Canberra, ACT,ID
- Attn: MacApp Tech
- SentBy: Larry Rosenstein
- Date 2/19/90
- Subject RE>Jump Table size
- From Larry Rosenstein
- To AUDev - CRIA, Canberra, ACT,ID, MacApp Tech
-
- Reply to: RE>Jump Table size
- The jump table is fixed at 4096 entries (there's 32K of RAM allocated to it
- and each entry requires 8 bytes).
-
- I think you can find out how many entries you are using with the -p option to
- Link.
-
- Changing segmentation will affect the number of jump table entries. For
- normal procedures and functions, a jump table entry isn't needed if all calls
- to a routine are from the same segment. If there are any calls from other
- segments then a JT entry will be needed.
-
- As for inline code, you should realize that it isn't possible to inline method
- calls (aka C++ virtual function calls), because of the extra dispatching
- involved. It could be done for regular procedure calls, but I don't think
- these are used very much, and if they are a bottleneck they can be written in
- assembler. (If you really need to, you can turn these assembler routines into
- inline function by entering the hex instructions.)
-
- In C++ you can make virtual functions inline, but this has no effect.
- Actually, inline is just a suggestion to the compiler; it doesn't have to
- honor it.
-
- Larry Rosenstein
-
-